package com.csun.cmny.provider.service;

import com.csun.cmny.core.support.IService;
import com.csun.cmny.provider.model.domain.DmcWatchDataStep;
import com.csun.cmny.provider.model.dto.watch.WatchStepQueryDto;
import com.csun.cmny.provider.model.vo.watch.WatchStepDayVo;
import com.csun.cmny.provider.model.vo.watch.WatchStepMonthVo;
import com.csun.cmny.provider.model.vo.watch.WatchStepWeekVo;

/**
 * @Auther: chisj chisj@foxmal.com
 * @Date: 2019-01-24 15:00
 * @Description: the interface dmc watch data step service
 */
public interface DmcWatchDataStepService extends IService<DmcWatchDataStep> {

    /**
     * query hist watch step with day
     *
     * @param watchStepQueryDto  watch step day query dto
     *
     * @return  watch step day vo
     */
    WatchStepDayVo queryHistStepWithDay(WatchStepQueryDto watchStepQueryDto);

    /**
     * query hist watch step week vo
     *
     * @param watchStepQueryDto watch step query dto
     *
     * @return  the watch step week vo
     */
    WatchStepWeekVo queryHistStepWithWeek(WatchStepQueryDto watchStepQueryDto);

    /**
     * query hist step with month vo
     *
     * @param watchStepQueryDto watch step query dto
     *
     * @return  the watch step month vo
     */
    WatchStepMonthVo queryHistStepWithMonth(WatchStepQueryDto watchStepQueryDto);

    /**
     * 删除步数
     *
     * @param deviceId  the device id
     *
     * @return  the int
     */
    Integer removeDmcWatchDataStep(Long deviceId);
}
